<?php
/**
 * 
 * 处理各种请求的基类
 * @author songerzhou
 *
 */
abstract class handle {
	//微博操作类实例
	protected $_wb;
	//数据库操作类实例
	protected $_db;
	//数据表名称
	protected $_table;
	//请求的的数据
	protected $_request_data;
	//返回信息
	protected $_response_data;
	//请求格式示例
	protected $_request_form;
	//错误代码
	protected $_error_code=0;
	//错误信息
	protected $_error_msg;

	//构造函数，初始化请求数据
	function __construct($wb, $db, $data, $form) {
		$this->_wb = $wb;
		$this->_db = $db;
		$this->_request_data = $data;
		$this->_request_form = $form;
	}
	
	//预处理请求数据
	abstract function preHandle();
	
	//执行不同类型请求
	abstract function handleMain();
	
	//执行请求
	abstract function run();
	
	//处理队列
	abstract function handleQueue();
	
	/**
	 * @return the $_response_data
	 */
	abstract function get_Response_data();
	
	/**
	 * @return the $_request_form
	 */
	public function get_Request_form() {
		return $this->_request_form;
	}

	/**
	 * @return the $_error_code
	 */
	public function get_Error_code() {
		return $this->_error_code;
	}

	/**
	 * @return the $_error_msg
	 */
	public function get_Error_msg() {
		switch ($this->_error_code) {
			case 0:$this->_error_msg='';break;
			
			//万年历
			case 101:$this->_error_msg='日期格式错误';break;
			case 102:$this->_error_msg='日期不合法';break;
			case 103:$this->_error_msg='年份暂未提供服务';break;
			case 104:$this->_error_msg='节日、节气格式错误';break;
			case 105:$this->_error_msg='查询数据有误';break;
			
			//定时提醒
			case 201:$this->_error_msg='';break;
			
			//漂流瓶
			case 301:$this->_error_msg='';break;		
			
			default:
				$this->_error_msg='未定义错误';
			break;
		}
		return $this->_error_msg;
	}
	
	//析构函数
	function __destruct() {
	
	}
}

?>